1. Field of the Invention
The present invention relates generally to digital image processing, and more particularly, to a lens shading correction method and apparatus for removing vignetting that occurs in digital images due to lens shading.
2. Description of the Related Art
In an image pickup apparatus with a lens system and an image pickup unit, shading (or non-uniformity of sensitivity) occurs in a picked-up image due to a lack of ambient light. which is caused by the lens system.
The removal of lens shading may be performed by a variety of methods, which may be divided into two typical method types. A first method type divides an image into multiple blocks and stores weights of the respective blocks in a memory. A second method type models an image subjected to lens shading correction in a polynomial function and uses it as a correction function.
The lens shading correction method type using weights of blocks may be divided into two different schemes. A first scheme divides an image into multiple square blocks as shown in FIG. 1, stores weights of the respective blocks in a memory, and uses the stored weights during lens shading correction. Related information is described in US Patent Publication No. 2007/285552, entitled “Lens Shading Correction Device and Method in Image Sensor.” A second scheme finds the center in an image as shown in FIG. 2, stores weights associated with distances from the center in a memory, and uses the stored weights during lens shading correction. This scheme is described in US Patent Publication No. 2008/0043117.
The lens shading correction method using a lens shading correction function is commonly used in an Image Signal Processor (ISP) because it uses less of the memory. When horizontal and vertical coordinates of pixels constituting an image are defined as (x,y), polynomials used for lens shading correction may be expressed as Equations (1) and (2) below. Equation (1) represents a function in which a lens shading correction function is applied to an image, and Equation (2) exhibits a substantial lens shading correction function. In Equations (1) and (2), if horizontal and vertical coordinates of an image are defined as (x,y), white(x,y) denotes a white image acquired by photographing a white plane on which a constant intensity of light is incident, and MAX means the maximum light intensity in the white image. f(x,y) is a lens shading correction function, and aij is a lens shading correction coefficient which is a coefficient of a polynomial function. In Equation (2), aij denotes the ith and jth-order coefficients of x and y, and k1 and k2 denote the highest orders of x and y, respectively.
                                          f            ^                    ⁡                      (                          x              ,              y                        )                          =                  min          ⁢                                                                MAX                                  white                  ⁡                                      (                                          x                      ,                      y                                        )                                                              -                              f                ⁡                                  (                                      x                    ,                    y                                    )                                                                                                    (        1        )                                          f          ⁡                      (                          x              ,              y                        )                          =                              ∑                          i              =              0                                      k              ⁢                                                          ⁢              1                                ⁢                                    ∑                              j                =                0                                            k                ⁢                                                                  ⁢                2                                      ⁢                                          a                ij                            ⁢                              x                i                            ⁢                              y                j                                                                        (        2        )            
In the lens shading correction method using weights of blocks, as size of the number of blocks increases, the performance increases. Thus, if weights for all pixels are stored, lens shading correction will show the best performance. However, since increased memory use raises the chip prices, the number of weights that can be stored cannot be unlimited, which thereby limits the available number of blocks. Even though an image is divided into multiple blocks according to a predetermined memory size, interpolation should be performed between the blocks, disadvantageously requiring additional hardware functions.
In the lens shading correction method using a lens shading correction function, the use of a higher-order polynomial ensures more accurate lens shading correction. However, the number of bits used for multiplication increases with the order of the polynomial, making it difficult to realize the hardware and making it impossible to accurately reflect local characteristics of the lens shading.